import request from '@u/request'

/**
 * 根据类型导出shp
 * @returns {Promise<{
 *     success: boolean,
 *     message: string,
 *     data: Object | null | Array
 * }>} 返回一个Promise对象，其解析值为查询结果
 * @param type string 查询类型
 * @param params object 查询参数
 */
export function exportShpByType(type, params) {
  return request(`/topic/download/${type}/shp`, {
    method: 'GET',
    responseType: 'blob',
    params,
  })
}

/**
 * 根据类型导出file
 * @returns {Promise<{
 *     success: boolean,
 *     message: string,
 *     data: Object | null | Array
 * }>} 返回一个Promise对象，其解析值为查询结果
 * @param type string 查询类型
 * @param params object 查询参数
 */
export function exportFileByType(type, params) {
  return request(`/topic/download/file?type=${type}`, {
    method: 'GET',
    responseType: 'blob',
    params,
  })
}

/**
 * 导出excel
 * @returns {Promise<{
 *     success: boolean,
 *     message: string,
 *     data: Object | null | Array
 * }>} 返回一个Promise对象，其解析值为查询结果
 * @param params object 查询参数
 */
export function getExportExcelData(params) {
  return request('/topic/download/excel/data', {
    method: 'GET',
    params,
  })
}

// /topic/download/community/excel
/**
 * 导出社区excel
 * @returns {Promise<{
 *     success: boolean,
 *     message: string,
 *     data: Object | null | Array
 * }>} 返回一个Promise对象，其解析值为查询结果
 * @param params object 查询参数
 * @param type string 查询类型
 */
export function exportCommunityExcel(params, type = 'community') {
  return request(`/topic/download/${type}/excel`, {
    method: 'GET',
    responseType: 'blob',
    params,
  })
}

/**
 * 导出新建楼栋excel
 * @returns {Promise<{
 *     success: boolean,
 *     message: string,
 *     data: Object | null | Array
 * }>} 返回一个Promise对象，其解析值为查询结果
 * @param params object 查询参数
 */
export function exportNewBuildExcel(params) {
  return request(`/topic/new/build/export`, {
    method: 'GET',
    responseType: 'blob',
    params,
  })
}

/**
 * 导出专项excel
 * @returns {Promise<{
 *     success: boolean,
 *     message: string,
 *     data: Object | null | Array
 * }>} 返回一个Promise对象，其解析值为查询结果
 * @param params object 查询参数
 */
export function exportRegionExcel(params) {
  return request(`/topic/download/region/excel`, {
    method: 'GET',
    responseType: 'blob',
    params,
  })
}

/**
 * 导出区县基础信息shp
 * @returns {Promise<{
 *     success: boolean,
 *     message: string,
 *     data: Object | null | Array
 * }>} 返回一个Promise对象，其解析值为查询结果
 * @param params object 查询参数
 */
export function exportRegionBaseShp(params) {
  return request(`/topic/download/region/base/shp`, {
    method: 'GET',
    responseType: 'blob',
    params,
  })
}

/**
 * 导出区县特殊一张图shp
 * @returns {Promise<{
 *     success: boolean,
 *     message: string,
 *     data: Object | null | Array
 * }>} 返回一个Promise对象，其解析值为查询结果
 * @param params object 查询参数
 */
export function exportRegionSpecialShp(params) {
  return request(`/topic/download/region/special/shp`, {
    method: 'GET',
    responseType: 'blob',
    params,
  })
}

/**
 * 导出社区特殊一张图shp
 * @returns {Promise<{
 *     success: boolean,
 *     message: string,
 *     data: Object | null | Array
 * }>} 返回一个Promise对象，其解析值为查询结果
 * @param params object 查询参数
 */
export function exportCommunitySpecialShp(params) {
  return request(`/topic/download/community/special/shp`, {
    method: 'GET',
    responseType: 'blob',
    params,
  })
}
